// var i;
// var AL_GAME_HUA_ElementConfig = require("./AL_GAME_HUA_ElementConfig");
// var c = cc._decorator;
// var l = c.ccclass;
// var u = c.property;
// var p =
//     (c.menu,
//     (function (e) {
//         function t() {
//             var t = (null !== e && e.apply(this, arguments)) || this;
//             t.flowers = [];
//             return t;
//         }
//         __extends(t, e);
//         t.prototype.refresh = function (e) {
//             var t = AL_GAME_HUA_ElementConfig.ElementConfig.getInstance().huoqu_tubiao_yanse(e);
//             console.log("hex:", e, t);
//             for (var n = 0; n < this.flowers.length; n++) {
//                 this.flowers[n].startColor = cc.color().fromHEX(t);
//                 this.flowers[n].endColor = cc.color().fromHEX(t);
//             }
//             this.getComponentsInChildren(cc.ParticleSystem).forEach(function (e) {
//                 e.stopSystem();
//                 e.resetSystem();
//             });
//             this.getComponentsInChildren(cc.Animation).forEach(function (e) {
//                 e.stop();
//                 e.play();
//             });
//         };
//         __decorate([u([cc.ParticleSystem])], t.prototype, "flowers", void 0);
//         return __decorate([l], t);
//     })(cc.Component));
// exports.default = p;

// // 引入AL_GAME_HUA_ElementConfig配置模块
// var AL_GAME_HUA_ElementConfig = require("./AL_GAME_HUA_ElementConfig");

// var decorator = cc._decorator;
// var ccclass = decorator.ccclass;
// var property = decorator.property;

// /**
//  * 粒子管理组件类
//  * @extends cc.Component
//  */
// var ParticleManager = (function (BaseComponent) {
//     function ParticleManager() {
//         // 继承父类
//         var self = (null !== BaseComponent && BaseComponent.apply(this, arguments)) || this;
//         // 定义花朵粒子系统数组
//         self.particle_system_huaduo = [];
//         return self;
//     }
    
//     __extends(ParticleManager, BaseComponent);

//     /**
//      * 根据特定标识刷新粒子系统颜色
//      * @param {string} identifier - 用于获取颜色的标识符
//      */
//     ParticleManager.prototype.refresh = function (identifier) {
//         // 从配置中获取颜色
//         var hexColor = AL_GAME_HUA_ElementConfig.ElementConfig.getInstance().huoqu_tubiao_yanse(identifier);
//         console.log("hex:", identifier, hexColor);

//         // 遍历所有花朵粒子系统，并更新其开始和结束颜色
//         for (var index = 0; index < this.particle_system_huaduo.length; index++) {
//             this.particle_system_huaduo[index].startColor = cc.color().fromHEX(hexColor);
//             this.particle_system_huaduo[index].endColor = cc.color().fromHEX(hexColor);
//         }

//         // 停止并重置所有子粒子系统
//         this.getComponentsInChildren(cc.ParticleSystem).forEach(function (particleSystem) {
//             particleSystem.stopSystem();
//             particleSystem.resetSystem();
//         });

//         // 停止并播放所有子动画
//         this.getComponentsInChildren(cc.Animation).forEach(function (animation) {
//             animation.stop();
//             animation.play();
//         });
//     };

//     __decorate([property([cc.ParticleSystem])], ParticleManager.prototype, "particle_system_huaduo", void 0);
    
//     return __decorate([ccclass], ParticleManager);
// })(cc.Component);

// // 导出默认类
// exports.default = ParticleManager;


// 引入 AL_GAME_HUA_ElementConfig 配置模块
const AL_GAME_HUA_ElementConfig = require("./AL_GAME_HUA_ElementConfig");

const { ccclass, property } = cc._decorator;

/**
 * 粒子管理组件类
 * 用于管理和更新场景中的粒子系统
 * @extends cc.Component
 */
@ccclass
class ParticleManager extends cc.Component {
    /**
     * 定义花朵粒子系统数组
     * @type {cc.ParticleSystem[]}
     */
    @property([cc.ParticleSystem])
    particle_system_huaduo = [];

    /**
     * 根据特定标识刷新粒子系统颜色
     * @param {string} identifier - 用于获取颜色的标识符
     */
    refresh(identifier) {
        // 从配置中获取颜色的 HEX 值
        const hexColor = AL_GAME_HUA_ElementConfig.ElementConfig.getInstance().huoqu_tubiao_yanse(identifier);
        console.log("hex:", identifier, hexColor);

        // 遍历所有花朵粒子系统，并更新其开始和结束颜色
        this.particle_system_huaduo.forEach((particleSystem) => {
            particleSystem.startColor = cc.color().fromHEX(hexColor);
            particleSystem.endColor = cc.color().fromHEX(hexColor);
        });

        // 停止并重置所有子粒子系统
        const childParticleSystems = this.getComponentsInChildren(cc.ParticleSystem);
        childParticleSystems.forEach((particleSystem) => {
            particleSystem.stopSystem();
            particleSystem.resetSystem();
        });

        // 停止并播放所有子动画
        const childAnimations = this.getComponentsInChildren(cc.Animation);
        childAnimations.forEach((animation) => {
            animation.stop();
            animation.play();
        });
    }
}

exports.default = ParticleManager;
